查看原文
其他

官方教程 | 如何在 Kusama 上搭建验证人节点

波卡世界 PolkaWorld 2019-10-22

加入 www.polkaworld.org 社区,共建 Web 3.0!

https://guide.kusama.network/en/latest/try/validate/
翻译:Charlie Hu(PolkaWorld 超级探员)此指南适用于Kusama测试网络。


在搭建验证人之前,你大概率会需要研读一下“验证人安全搭建页”,来确保你知道,在设计验证人搭建环境的时候,需要考虑哪些因素。


如果你有KSM代币但是没有足够的技术知识来搭建一个验证人的话,你不应该来搭验证人。任何你参与当验证人所质押的KSM代币都会有可能被没收,意味着一个不安全或者不恰当的技术搭建都可能导致KSM代币的损失!如果你没有对自己的技术能力有足够的信心来运营维护一个验证人节点,那么我们推荐你去把你的KSM代币质押去推举一个可信任的验证人节点。


如果你需要帮助,请联系Kusama的论坛,还有Kusama验证人的在线交流频道。 


在这个教程中,我们使用的是Ubuntu18.04. 不管你使用什么样的操作系统,搭建都会比较相似。市场上有很多服务器环境和云服务VPS的供应商选项,你可以选择一个你喜欢的来使用。



安装 Rust

如果你从来没有安装过Rust,那么这个是你的首先要做的。下面这个指令可以让你下载安装最新版本的Rust。


curl https://sh.rustup.rs -sSf | sh

如果你已经安装了Rust,则运行下面这个指令,确保你用的是最新的版本。


rustup update

最后,需要运行这个指令来安装一些必要文件来编码解析和运行Kusama节点软件。


sudo apt install make clang pkg-config libssl-dev build-essential


请注意:如果你是使用OS X系统,如果你安装了Homebrew(http://brew.sh), 你也可以运行下面这行指令来做跟上面同样的操作。


brew install cmake pkg-config openssl git llvm


搭建并安装你的 Kusama 节点

你需要从Poolkadot的源代码中去搭建你的Kusama。


警告:下面的说明文档目前是来自于Repository的master代码库。官方的Kusama建设搭建会被标签,且此指导说明也会在正式创世区块之前被更新。你可以自行尝试现在来搭建,但是你不会获得官方版本的验证人软件代码。这意味着你无法连接到Kusama网络或者体验测试(更严重更困难去解除的)问题。

git clone https://github.com/paritytech/polkadot.git# To update your node, run from this step.
cd polkadot
cargo clean
./scripts/init.sh
cargo install --path ./ --force

注意:如果你倾向于用SSH而非HTTPS,你可以把上面第一行代码替换为git clone git@github.com:paritytech/polkadot.git.


这部流程会需要一些时间(一般在15-30分钟,速度取决于你的硬件情况)


如果你感兴趣本地生成密钥,你也可以从同一个directory库中安装subkey。然后你可以让生成了的subkey 变成可以执行,把它转移到一个跟外界隔绝的机器中来获得额外的安全性。


cargo install --force --git https://github.com/paritytech/substrate subkey


同步链上数据

在安全完所有相关的必要程序之后,你可以开启你的Kusama节点。运营下面这行指令来开始同步链。

 如果你希望知道整个同步过程还剩下多少时间才能完成,你的服务器logs可以告诉你,目前你的节点中最新的处理和验证了的区块。你可以用Telemetry或者PolkadotJS区块浏览器,来让最新区块跟目前Polkadot网络中最高区块来做比较。


polkadot --chain kusama


创建账号

为了成为验证人,你需要3个独立的账号来管理你的资金,分别命明叫Stash, Controller和Session.如果你希望知道更多关于这方面的内容,可以打开此链接。

https://wiki.polkadot.network/en/latest/polkadot/learn/staking/#accounts



首先,进入到PolkadotJS页面中的账号菜单,点击“添加账户”按钮。


为了帮助你之后简单地辨别你的账号,我们推荐你把stash,controller和session加入到你的账户名称中(比如“JANE STASH”, “JANE CONTROLLER”, “JANE SESSION”)。一段助记词词条会分别给到每一个创建的账户。你可以把助记词离线保存在一个安全的地方,或者选择用一个JSON密钥文件来保存你的账号,点击Save按钮就会自动生成此密钥文件。创建账户需要的密码会在给每个账户签署任何交易的时候被使用。此密码会被用来加密JSON 密钥文件,也会在你需要充值账户使用到这个文件的时候使用


针对session账户的助记词片段会在此指南的后面被用到来做验证。请确保你安全保存。另一个你需要特别注意的是,stash和controller账户都可以使用Schnorrkel(sr25519)来做密钥对加密形式,在这个高级创建设置选项当中。然而,你必须使用Edwards(ed25519)来给session账号设置。


一旦所有的账户被创建完成,这个总览会展示给你类似这样的界面。再次强调,session账户需要使用ed25519加密格式。




获得 Token

为了继续接下来的步骤,你需要去获得一些KSM代币到stash和controller账户来让他们上传交易和使用这些KSM代币做stake质押。


Stash和controller账户需要至少150milliKSM代币来转移存在的存款和交易费。你可以在浏览器的账户菜单栏中( https://polkadot.js.org/apps/#/accounts ) 使用“发送”功能,转移合适数量的KSM代币到相应的每个账户。推荐把你大多数的KSM 代币存在stash账户中,仅保存少量的KSM代币在controller账户为了必要的操作。


Session账户不需要任何的KSM代币就可以运行功能。


你可以看一下“申请KSM代币的用户指南”如果你参与购买了2017年发行的DOT代币。你也可以用Kusama的水龙头来获得更多的KSM代币。



绑定 KSM 代币

现在就到了启动验证人的阶段了。需要做的步骤是:

  1. 绑定stash账户里面的KSM代币,这些KSM代币用来质押来确保网络的安全,有可能会被没收

  2. 选择controller账户,这个账户可以来决定什么时候开始和停止验证人的工作

  3. 选择session账户,这个账户中的seed会被用来运行节点


首先,进入到staking菜单,点击“账户行为”,然后点击“新的Stake”按钮。



  • Stash账户 – 选择你的stash账户。在这个示范中,我们会绑定100milliKSM代币 – 请确保你的stash账户中拥有只要这个数量的代币。

  • Controller账户 – 选择之前创建的controller账户。这个账户也需要少数量的KSM代币来开启和停止验证工作。

  • 价值绑定 – 你想要多少个在stash账户内的KSM代币做绑定和质押。注意你不需要绑定所有的KSM 代币在这个账户里面,且你在之后一直都可以绑定更多的KSM代币。然而,提取绑定了的账户需要整个绑定周期结束才可以(目前来说是几个月时间)

  • 支付目的地 – 这个账户是验证人接受节点验证奖励的。更多信息在此。https://wiki.polkadot.network/en/latest/polkadot/learn/staking/#reward-distribution


一旦所有这些都设置完成,点击“绑定”按钮,然后签署交易(用你的stash账户)。



设置 Session 密钥

在几秒钟之后,你可以看到"ExtrinsicSuccess"的信息提示。此时你应该看到一个新的card,里面有你所有的账户信息(注意你可以需要刷新屏幕)。右边的绑定账户跟stash账户里面的绑定了的资金相关联。



点击“设置session密钥”,选择之前创建的session账号并点击设置session密钥。



开启验证

你现在应该可以看到“验证”和“任命”按钮。


在验证之前,你需要确认你的节点已经准备好开始验证。如果你任何在运行Polkadot之前的指令,你需要用Control-C来停止。


在你的Terminal,你现在可以用session账户的助记词来运行你的验证人, 例如:


polkadot --chain kusama --validator --key="SESSION_ACCOUNT_SEED_MNEMONIC" --name NAME_ON_TELEMETRY

确保助记词词条用双冒号来包括,否则shell不能够去辨别它。


你可以给你的节点设置任何你喜欢的名字,但是注意其他人是可以看到它的,他们会被收录到同一个使用了telemetry服务器的全部服务器列表中。


确保从seed生成的地址可以连到你的session账号地址


为了确保你的节点已经上线且已经完成同步,请进入到Telemetry频道:

https://telemetry.polkadot.io/#/Kusama


几秒钟之后,你的节点信息就会被显示出来。请注意这个会显示Kusama网络中的所有节点,这也是为什么需要给节点选择一个独特的好名字!


如果所有这些都ok了,则Polkadot UI界面中的点击Validate验证按钮。



  • 取消stake的界限 – 你希望多少次被汇报下线(代币没收)在被移除验证人群组之前。

  • 支付偏好 – 你会保留奖励,其余的部分会被分享给你和你的任命人。


点击 “验证(Validate)”。


如果你进入到staking菜单栏,你可以看到一个目前在网络中活跃运行的验证人列表,也可以看到任何已经签署他们希望成为验证人目标但是还没有被选择进入到目前验证人群组的节点。在此页面的最上方,它展示了有多少个验证人插槽还剩余以及多少个节点希望成为验证人。



你的节点会在next up排队列表中被显示。验证人群组会每过一个时间阶段刷新一次(600个区块,大约1小时时间)。在下一个时间阶段,如果有插槽,你的节点就会被选择进入到验证人群组,你的节点就会变成激活的验证人。在那之前,它都会停留在next up的排队列表中。如果你的节点没有被验证人群组选中激活,他会一直停留在next up排队序列中。你无需去重新开启,如果你没有被选择进入到验证人群组。但是可能你需要增加DOT代币的质押数量,争取更多的任命人来支持你的验证人从来帮助你激活加入到验证人群组中。


祝贺你!如果你跟完了所有这些步骤,并被选择进入了验证人群组中,那么你就开始运营一个Kusama测试网络的验证人了!


如果你需要帮助,请联系Kusama论坛:

https://forum.kusama.network/

或者Kusama验证人聊天室:

https://riot.im/app/#/room/#KusamaValidatorLounge:polkadot.builders


云服务器商选择列表

  • OVH

  • Digital Ocean

  • Vultr

  • Linode

  • Contabo

  • Scaleway




更多精彩文章:


W3F 合作经理:Polkadot 和 Web 3 简介

IOSG VC:Polkadot 生态的投资逻辑

「PolkaWorld Hackathon」报名开始了!38 万奖金等你抱回家


扫码关注公众号,回复 “1” 加入 PolkaWorld 波卡群,点击 “Kusama” 按钮查看 Kusama 网络专栏

关注 PolkaWorld

发现 Web 3.0 时代新机遇

点个 “好看” 支持下我们叭!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存